package com.jl.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

/**
 * <p>
 * 故障信息表
 * </p>
 *
 * @author 赵铁锤
 * @since 2019-03-17
 */
@TableName("fault_info")
public class FaultInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 设备型号id
     */
    private Long modelId;
    /**
     * 设备型号名称
     */
    @TableField(exist = false)
    private String modelName;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 设备编号
     */
    private String deviceNumber;
    /**
     * 所属于设备id
     */
    private Long deviceId;
    /**
     * 生产线名称
     */
    private String lineName;
    /**
     * 所在生产线
     */
    private Long productionLine;

    /**
     * 故障内容详情json格式 [{faultPartId:'',faultPartName:'',changeComponent:[{componentId:'',componentName:'',count:1}]}]
     */
    private String faultContent;

    /**
     * 故障现象
     */
    private String symptom;

    /**
     * 原因分析
     */
    private String reason;
    /**
     * 故障排除过程
     */
    private String resolvent;
    /**
     * 故障发生时间
     */
    private Date faultTime;
    /**
     * 故障排除时间
     */
    private Date solveTime;

    /**
     * 解决问题所花费时间/min
     */
    private Integer duration;

    /**
     * 停机时长
     */
    private Integer stopDuration;

    /**
     * 主维修人员id
     */
    private Long masterSolver;
    /**
     * 主维修人员名称
     */
    private String masterSolverName;

    /**
     * 辅助维修人员 ,1,2,3,
     */
    private String solver;
    /**
     * 辅助维修人员名称 name1,name2,name3
     */
    private String solveName;
    /**
     * 绑定关键词的id ,1,2,3,
     */
    private String keyWordId;
    /**
     * 解决方案采纳数
     */
    private Integer acceptNum;
    /**
     * 状态码：暂未定义
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date gmtCreate;
    /**
     * 创建者id 如果值为0 则表示系统创建
     */
    private Long createId;
    /**
     * 修改时间
     */
    private Date gmtModified;
    /**
     * 修改者id
     */
    private Long modifyId;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getModelId() {
        return modelId;
    }

    public void setModelId(Long modelId) {
        this.modelId = modelId;
    }

    public String getModelName() {
        return modelName;
    }

    public void setModelName(String modelName) {
        this.modelName = modelName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceNumber() {
        return deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
        this.deviceNumber = deviceNumber;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public String getLineName() {
        return lineName;
    }

    public void setLineName(String lineName) {
        this.lineName = lineName;
    }

    public Long getProductionLine() {
        return productionLine;
    }

    public void setProductionLine(Long productionLine) {
        this.productionLine = productionLine;
    }

    public String getSymptom() {
        return symptom;
    }

    public void setSymptom(String symptom) {
        this.symptom = symptom;
    }

    public String getResolvent() {
        return resolvent;
    }

    public void setResolvent(String resolvent) {
        this.resolvent = resolvent;
    }

    public Date getFaultTime() {
        return faultTime;
    }

    public void setFaultTime(Date faultTime) {
        this.faultTime = faultTime;
    }

    public Date getSolveTime() {
        return solveTime;
    }

    public void setSolveTime(Date solveTime) {
        this.solveTime = solveTime;
    }

    public Long getMasterSolver() {
        return masterSolver;
    }

    public void setMasterSolver(Long masterSolver) {
        this.masterSolver = masterSolver;
    }

    public String getMasterSolverName() {
        return masterSolverName;
    }

    public void setMasterSolverName(String masterSolverName) {
        this.masterSolverName = masterSolverName;
    }

    public String getSolver() {
        return solver;
    }

    public void setSolver(String solver) {
        this.solver = solver;
    }

    public String getSolveName() {
        return solveName;
    }

    public void setSolveName(String solveName) {
        this.solveName = solveName;
    }

    public String getFaultContent() {
        return faultContent;
    }

    public void setFaultContent(String faultContent) {
        this.faultContent = faultContent;
    }

    public String getKeyWordId() {
        return keyWordId;
    }

    public void setKeyWordId(String keyWordId) {
        this.keyWordId = keyWordId;
    }

    public Integer getAcceptNum() {
        return acceptNum;
    }

    public void setAcceptNum(Integer acceptNum) {
        this.acceptNum = acceptNum;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public Long getCreateId() {
        return createId;
    }

    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    public Date getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(Date gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Long getModifyId() {
        return modifyId;
    }

    public void setModifyId(Long modifyId) {
        this.modifyId = modifyId;
    }

    public Integer getDuration() {
        return duration;
    }

    public void setDuration(Integer duration) {
        this.duration = duration;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Integer getStopDuration() {
        return stopDuration;
    }

    public void setStopDuration(Integer stopDuration) {
        this.stopDuration = stopDuration;
    }
}
